package com.demandbreakdown.xiyun.common.constant;

/**
 * 空间配额常量
 *
 * @author poxz
 */
public final class SpaceQuotaConstant {

    // ========== 普通版配额 ==========

    /**
     * 普通版空间最大图片数
     */
    public static final int NORMAL_MAX_PICTURES = 1000;

    /**
     * 普通版空间最大存储容量（1GB）
     */
    public static final long NORMAL_MAX_STORAGE = 1024L * 1024L * 1024L;

    /**
     * 普通版空间成员上限
     */
    public static final int NORMAL_MAX_MEMBERS = 10;

    // ========== 高级版配额 ==========

    /**
     * 高级版空间最大图片数
     */
    public static final int ADVANCED_MAX_PICTURES = 5000;

    /**
     * 高级版空间最大存储容量（10GB）
     */
    public static final long ADVANCED_MAX_STORAGE = 10L * 1024L * 1024L * 1024L;

    /**
     * 高级版空间成员上限
     */
    public static final int ADVANCED_MAX_MEMBERS = 50;

    // ========== 至尊版配额 ==========

    /**
     * 至尊版空间最大图片数（无限制）
     */
    public static final int PREMIUM_MAX_PICTURES = -1;

    /**
     * 至尊版空间最大存储容量（无限制）
     */
    public static final long PREMIUM_MAX_STORAGE = -1L;

    /**
     * 至尊版空间成员上限
     */
    public static final int PREMIUM_MAX_MEMBERS = 200;

    // 私有构造函数，防止实例化
    private SpaceQuotaConstant() {
        throw new UnsupportedOperationException("常量类不能被实例化");
    }
}
